import React from 'react';
import { Badge, Tooltip } from 'antd';
import useSimpleAuth from '../../hooks/useSimpleAuth';

/**
 * 部门标识组件接口定义
 */
interface RegionBadgeProps {
  /** 部门值或ID */
  region?: string;
  /** 是否显示提示信息 */
  showTooltip?: boolean;
  /** 自定义样式 */
  style?: React.CSSProperties;
  /** 自定义类名 */
  className?: string;
  /** 是否显示文本标签 */
  showLabel?: boolean;
}

/**
 * 区域/部门标识组件
 * 根据当前用户与资源部门的关系，显示不同颜色的标识
 */
export const RegionBadge: React.FC<RegionBadgeProps> = ({ 
  region, 
  showTooltip = true,
  style,
  className,
  showLabel = true
}) => {
  const { getUserRegion, isSuperAdmin } = useSimpleAuth();
  const userRegion = getUserRegion();
  
  // 根据当前用户部门与数据部门的关系设置不同颜色
  const getColor = () => {
    if (!region) return 'default';
    if (isSuperAdmin()) return 'blue';
    if (region === userRegion) return 'green';
    return 'red'; // 不同部门显示红色警示
  };
  
  const badge = showLabel 
    ? <Badge color={getColor()} text={region || '全局'} style={style} className={className} />
    : <Badge color={getColor()} style={style} className={className} />;
  
  if (!showTooltip) return badge;
  
  return (
    <Tooltip title={`部门: ${region || '全局'}`}>
      {badge}
    </Tooltip>
  );
};

export default RegionBadge; 